package shujia.day13;

import java.io.*;

/*
    java针对字符输出流和输入流提供了对应的简化写法：
    字符流 = 字节流 + 编码表：
        字符输出流：Writer【抽象类】
                    - OutputStreamWriter
                        - FileWriter
                    - BufferedWriter 特有功能：newLine()

        字符输入流：Reader【抽象类】
                    - InputStreamReader
                        - FileReader
                    - BufferedReader  特有功能：readLine()

 */
public class BufferedWriterDemo1 {
    public static void main(String[] args) throws Exception{
        // BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。
        // 创建字符缓冲输出流对象
//        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("src/shujia/day13/b2.txt")));
        // 简化写法
//        BufferedWriter bw = new BufferedWriter(new FileWriter("src/shujia/day13/b2.txt"));
//        bw.write("好好学习，天天向上！");
////        bw.write("\r\n");
//        bw.newLine(); // 自动根据当前所处的系统环境生成一个换行符
//        bw.write("好好学习，天天向上！");
//        bw.flush();


        //创建字符缓冲输入流对象
        //BufferedReader(Reader in) 创建使用默认大小的输入缓冲区的缓冲字符输入流。
//        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("src/shujia/day13/b2.txt")));
        // 简化写法
        BufferedReader br = new BufferedReader(new FileReader("src/shujia/day13/斗罗大陆-第一章.txt"));

        // 一次读取一个字符
        // 一次读取一个字符数组

        // 一次读取一行 readLine()
        //注意：readLine()方法无法读取到换行符
//        System.out.print(br.readLine());
//        System.out.print(br.readLine());
        String line = null;
        while ((line = br.readLine())!=null){
            System.out.print(line);
            System.out.println();
        }


        //释放资源
//        bw.close();
    }
}
